home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-21
/
dvmacros.zip
/
DV_CALL.MAC
< prev
next >
Wrap
Text File
|
1993-03-03
|
3KB
|
92 lines
.xlist
; @CALL function_name
; Daniel T. Travison Jr. 01/01/88
; loads AL with a function number
; based on the function_name mnemonic.
; loads AH with 10h and executes an INT 15h
@CALL MACRO F_NAME
IFIDN <F_NAME>,<PAUSE>
MOV AL,0 ;skip to next task
ELSE
IFIDN <F_NAME>,<PRINTC>
MOV AL,3 ;display character on screen
ELSE
IFIDN <F_NAME>,<GETBIT>
MOV AL,19
ELSE
IFIDN <F_NAME>,<FREEBIT>
MOV AL,20 ;software interrupt control
ELSE
IFIDN <F_NAME>,<SETBIT>
MOV AL,21
ELSE
IFIDN <F_NAME>,<ISOBJ>
MOV AL,22 ;verify object handle
ELSE
IFIDN <F_NAME>,<LOCATE>
MOV AL,24 ;locate window
ELSE
IFIDN <F_NAME>,<SOUND>
MOV AL,25 ;operate speaker
ELSE
IFIDN <F_NAME>,<OSTACK>
MOV AL,26 ;set up stack
ELSE
IFIDN <F_NAME>,<BEGINC>
MOV AL,27 ;begin critical code
ELSE
IFIDN <F_NAME>,<ENDC>
MOV AL,28 ;end critical code
ELSE
IFIDN <F_NAME>,<STOP>
MOV AL,29 ;stop task
ELSE
IFIDN <F_NAME>,<START>
MOV AL,30 ;start task
ELSE
IFIDN <F_NAME>,<DISPEROR>
MOV AL,31 ;display error message
ELSE
IFIDN <F_NAME>,<PGMINT>
MOV AL,33 ;interrupt another task
ELSE
IFIDN <F_NAME>,<GETVER>
MOV AL,34 ;get version number
ELSE
IFIDN <F_NAME>,<POSWIN>
MOV AL,35 ;position window
ELSE
IFIDN <F_NAME>,<GETBUF>
MOV AL,36 ;get video buffer
ELSE
IFIDN <F_NAME>,<USTACK> ;restore original stack
MOV AL,37
ELSE
.ERR
%OUT Invalid Function Mnemonic in @CALL (%F_NAME)
EXITM
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
MOV AH,10H
INT 15h
ENDM
.list